// Copyright (c) 2016, SolidCP
// SolidCP is distributed under the Creative Commons Share-alike license
// 
// SolidCP is a fork of WebsitePanel:
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  the  Outercurve Foundation  nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.7905
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.3038.
// 
namespace SolidCP.Providers.OS {
    using System.Xml.Serialization;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Diagnostics;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="OperatingSystemSoap", Namespace="http://smbsaas/solidcp/server/")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))]
    public partial class OperatingSystem : Microsoft.Web.Services3.WebServicesClientProtocol {
        
        public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue;
        
        private System.Threading.SendOrPostCallback CreatePackageFolderOperationCompleted;
        
        private System.Threading.SendOrPostCallback FileExistsOperationCompleted;
        
        private System.Threading.SendOrPostCallback DirectoryExistsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetFileOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetFilesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDirectoriesRecursiveOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetFilesRecursiveOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetFilesRecursiveByPatternOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetFileBinaryContentOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetFileBinaryContentUsingEncodingOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetFileBinaryChunkOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetFileTextContentOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateFileOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateDirectoryOperationCompleted;
        
        private System.Threading.SendOrPostCallback ChangeFileAttributesOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteFileOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteFilesOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteEmptyDirectoriesOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateFileBinaryContentOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateFileBinaryContentUsingEncodingOperationCompleted;
        
        private System.Threading.SendOrPostCallback AppendFileBinaryContentOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateFileTextContentOperationCompleted;
        
        private System.Threading.SendOrPostCallback MoveFileOperationCompleted;
        
        private System.Threading.SendOrPostCallback CopyFileOperationCompleted;
        
        private System.Threading.SendOrPostCallback ZipFilesOperationCompleted;
        
        private System.Threading.SendOrPostCallback UnzipFilesOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateAccessDatabaseOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetGroupNtfsPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GrantGroupNtfsPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetQuotaLimitOnFolderOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetQuotaOnFolderOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteDirectoryRecursiveOperationCompleted;
        
        private System.Threading.SendOrPostCallback CheckFileServicesInstallationOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetFolderGraphOperationCompleted;
        
        private System.Threading.SendOrPostCallback ExecuteSyncActionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetInstalledOdbcDriversOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDSNNamesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDSNOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateDSNOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateDSNOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteDSNOperationCompleted;
        
        /// <remarks/>
        public OperatingSystem() {
            this.Url = "http://localhost:9003/OperatingSystem.asmx";
        }
        
        /// <remarks/>
        public event CreatePackageFolderCompletedEventHandler CreatePackageFolderCompleted;
        
        /// <remarks/>
        public event FileExistsCompletedEventHandler FileExistsCompleted;
        
        /// <remarks/>
        public event DirectoryExistsCompletedEventHandler DirectoryExistsCompleted;
        
        /// <remarks/>
        public event GetFileCompletedEventHandler GetFileCompleted;
        
        /// <remarks/>
        public event GetFilesCompletedEventHandler GetFilesCompleted;
        
        /// <remarks/>
        public event GetDirectoriesRecursiveCompletedEventHandler GetDirectoriesRecursiveCompleted;
        
        /// <remarks/>
        public event GetFilesRecursiveCompletedEventHandler GetFilesRecursiveCompleted;
        
        /// <remarks/>
        public event GetFilesRecursiveByPatternCompletedEventHandler GetFilesRecursiveByPatternCompleted;
        
        /// <remarks/>
        public event GetFileBinaryContentCompletedEventHandler GetFileBinaryContentCompleted;
        
        /// <remarks/>
        public event GetFileBinaryContentUsingEncodingCompletedEventHandler GetFileBinaryContentUsingEncodingCompleted;
        
        /// <remarks/>
        public event GetFileBinaryChunkCompletedEventHandler GetFileBinaryChunkCompleted;
        
        /// <remarks/>
        public event GetFileTextContentCompletedEventHandler GetFileTextContentCompleted;
        
        /// <remarks/>
        public event CreateFileCompletedEventHandler CreateFileCompleted;
        
        /// <remarks/>
        public event CreateDirectoryCompletedEventHandler CreateDirectoryCompleted;
        
        /// <remarks/>
        public event ChangeFileAttributesCompletedEventHandler ChangeFileAttributesCompleted;
        
        /// <remarks/>
        public event DeleteFileCompletedEventHandler DeleteFileCompleted;
        
        /// <remarks/>
        public event DeleteFilesCompletedEventHandler DeleteFilesCompleted;
        
        /// <remarks/>
        public event DeleteEmptyDirectoriesCompletedEventHandler DeleteEmptyDirectoriesCompleted;
        
        /// <remarks/>
        public event UpdateFileBinaryContentCompletedEventHandler UpdateFileBinaryContentCompleted;
        
        /// <remarks/>
        public event UpdateFileBinaryContentUsingEncodingCompletedEventHandler UpdateFileBinaryContentUsingEncodingCompleted;
        
        /// <remarks/>
        public event AppendFileBinaryContentCompletedEventHandler AppendFileBinaryContentCompleted;
        
        /// <remarks/>
        public event UpdateFileTextContentCompletedEventHandler UpdateFileTextContentCompleted;
        
        /// <remarks/>
        public event MoveFileCompletedEventHandler MoveFileCompleted;
        
        /// <remarks/>
        public event CopyFileCompletedEventHandler CopyFileCompleted;
        
        /// <remarks/>
        public event ZipFilesCompletedEventHandler ZipFilesCompleted;
        
        /// <remarks/>
        public event UnzipFilesCompletedEventHandler UnzipFilesCompleted;
        
        /// <remarks/>
        public event CreateAccessDatabaseCompletedEventHandler CreateAccessDatabaseCompleted;
        
        /// <remarks/>
        public event GetGroupNtfsPermissionsCompletedEventHandler GetGroupNtfsPermissionsCompleted;
        
        /// <remarks/>
        public event GrantGroupNtfsPermissionsCompletedEventHandler GrantGroupNtfsPermissionsCompleted;
        
        /// <remarks/>
        public event SetQuotaLimitOnFolderCompletedEventHandler SetQuotaLimitOnFolderCompleted;
        
        /// <remarks/>
        public event GetQuotaOnFolderCompletedEventHandler GetQuotaOnFolderCompleted;
        
        /// <remarks/>
        public event DeleteDirectoryRecursiveCompletedEventHandler DeleteDirectoryRecursiveCompleted;
        
        /// <remarks/>
        public event CheckFileServicesInstallationCompletedEventHandler CheckFileServicesInstallationCompleted;
        
        /// <remarks/>
        public event GetFolderGraphCompletedEventHandler GetFolderGraphCompleted;
        
        /// <remarks/>
        public event ExecuteSyncActionsCompletedEventHandler ExecuteSyncActionsCompleted;
        
        /// <remarks/>
        public event GetInstalledOdbcDriversCompletedEventHandler GetInstalledOdbcDriversCompleted;
        
        /// <remarks/>
        public event GetDSNNamesCompletedEventHandler GetDSNNamesCompleted;
        
        /// <remarks/>
        public event GetDSNCompletedEventHandler GetDSNCompleted;
        
        /// <remarks/>
        public event CreateDSNCompletedEventHandler CreateDSNCompleted;
        
        /// <remarks/>
        public event UpdateDSNCompletedEventHandler UpdateDSNCompleted;
        
        /// <remarks/>
        public event DeleteDSNCompletedEventHandler DeleteDSNCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreatePackageFolder", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string CreatePackageFolder(string initialPath) {
            object[] results = this.Invoke("CreatePackageFolder", new object[] {
                        initialPath});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreatePackageFolder(string initialPath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreatePackageFolder", new object[] {
                        initialPath}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndCreatePackageFolder(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void CreatePackageFolderAsync(string initialPath) {
            this.CreatePackageFolderAsync(initialPath, null);
        }
        
        /// <remarks/>
        public void CreatePackageFolderAsync(string initialPath, object userState) {
            if ((this.CreatePackageFolderOperationCompleted == null)) {
                this.CreatePackageFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreatePackageFolderOperationCompleted);
            }
            this.InvokeAsync("CreatePackageFolder", new object[] {
                        initialPath}, this.CreatePackageFolderOperationCompleted, userState);
        }
        
        private void OnCreatePackageFolderOperationCompleted(object arg) {
            if ((this.CreatePackageFolderCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreatePackageFolderCompleted(this, new CreatePackageFolderCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/FileExists", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool FileExists(string path) {
            object[] results = this.Invoke("FileExists", new object[] {
                        path});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginFileExists(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("FileExists", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndFileExists(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void FileExistsAsync(string path) {
            this.FileExistsAsync(path, null);
        }
        
        /// <remarks/>
        public void FileExistsAsync(string path, object userState) {
            if ((this.FileExistsOperationCompleted == null)) {
                this.FileExistsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnFileExistsOperationCompleted);
            }
            this.InvokeAsync("FileExists", new object[] {
                        path}, this.FileExistsOperationCompleted, userState);
        }
        
        private void OnFileExistsOperationCompleted(object arg) {
            if ((this.FileExistsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.FileExistsCompleted(this, new FileExistsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DirectoryExists", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool DirectoryExists(string path) {
            object[] results = this.Invoke("DirectoryExists", new object[] {
                        path});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDirectoryExists(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DirectoryExists", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndDirectoryExists(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void DirectoryExistsAsync(string path) {
            this.DirectoryExistsAsync(path, null);
        }
        
        /// <remarks/>
        public void DirectoryExistsAsync(string path, object userState) {
            if ((this.DirectoryExistsOperationCompleted == null)) {
                this.DirectoryExistsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDirectoryExistsOperationCompleted);
            }
            this.InvokeAsync("DirectoryExists", new object[] {
                        path}, this.DirectoryExistsOperationCompleted, userState);
        }
        
        private void OnDirectoryExistsOperationCompleted(object arg) {
            if ((this.DirectoryExistsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DirectoryExistsCompleted(this, new DirectoryExistsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetFile", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SystemFile GetFile(string path) {
            object[] results = this.Invoke("GetFile", new object[] {
                        path});
            return ((SystemFile)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetFile(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetFile", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public SystemFile EndGetFile(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((SystemFile)(results[0]));
        }
        
        /// <remarks/>
        public void GetFileAsync(string path) {
            this.GetFileAsync(path, null);
        }
        
        /// <remarks/>
        public void GetFileAsync(string path, object userState) {
            if ((this.GetFileOperationCompleted == null)) {
                this.GetFileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFileOperationCompleted);
            }
            this.InvokeAsync("GetFile", new object[] {
                        path}, this.GetFileOperationCompleted, userState);
        }
        
        private void OnGetFileOperationCompleted(object arg) {
            if ((this.GetFileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetFileCompleted(this, new GetFileCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetFiles", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SystemFile[] GetFiles(string path) {
            object[] results = this.Invoke("GetFiles", new object[] {
                        path});
            return ((SystemFile[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetFiles(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetFiles", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public SystemFile[] EndGetFiles(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((SystemFile[])(results[0]));
        }
        
        /// <remarks/>
        public void GetFilesAsync(string path) {
            this.GetFilesAsync(path, null);
        }
        
        /// <remarks/>
        public void GetFilesAsync(string path, object userState) {
            if ((this.GetFilesOperationCompleted == null)) {
                this.GetFilesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFilesOperationCompleted);
            }
            this.InvokeAsync("GetFiles", new object[] {
                        path}, this.GetFilesOperationCompleted, userState);
        }
        
        private void OnGetFilesOperationCompleted(object arg) {
            if ((this.GetFilesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetFilesCompleted(this, new GetFilesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetDirectoriesRecursive", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SystemFile[] GetDirectoriesRecursive(string rootFolder, string path) {
            object[] results = this.Invoke("GetDirectoriesRecursive", new object[] {
                        rootFolder,
                        path});
            return ((SystemFile[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetDirectoriesRecursive(string rootFolder, string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetDirectoriesRecursive", new object[] {
                        rootFolder,
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public SystemFile[] EndGetDirectoriesRecursive(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((SystemFile[])(results[0]));
        }
        
        /// <remarks/>
        public void GetDirectoriesRecursiveAsync(string rootFolder, string path) {
            this.GetDirectoriesRecursiveAsync(rootFolder, path, null);
        }
        
        /// <remarks/>
        public void GetDirectoriesRecursiveAsync(string rootFolder, string path, object userState) {
            if ((this.GetDirectoriesRecursiveOperationCompleted == null)) {
                this.GetDirectoriesRecursiveOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDirectoriesRecursiveOperationCompleted);
            }
            this.InvokeAsync("GetDirectoriesRecursive", new object[] {
                        rootFolder,
                        path}, this.GetDirectoriesRecursiveOperationCompleted, userState);
        }
        
        private void OnGetDirectoriesRecursiveOperationCompleted(object arg) {
            if ((this.GetDirectoriesRecursiveCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDirectoriesRecursiveCompleted(this, new GetDirectoriesRecursiveCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetFilesRecursive", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SystemFile[] GetFilesRecursive(string rootFolder, string path) {
            object[] results = this.Invoke("GetFilesRecursive", new object[] {
                        rootFolder,
                        path});
            return ((SystemFile[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetFilesRecursive(string rootFolder, string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetFilesRecursive", new object[] {
                        rootFolder,
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public SystemFile[] EndGetFilesRecursive(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((SystemFile[])(results[0]));
        }
        
        /// <remarks/>
        public void GetFilesRecursiveAsync(string rootFolder, string path) {
            this.GetFilesRecursiveAsync(rootFolder, path, null);
        }
        
        /// <remarks/>
        public void GetFilesRecursiveAsync(string rootFolder, string path, object userState) {
            if ((this.GetFilesRecursiveOperationCompleted == null)) {
                this.GetFilesRecursiveOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFilesRecursiveOperationCompleted);
            }
            this.InvokeAsync("GetFilesRecursive", new object[] {
                        rootFolder,
                        path}, this.GetFilesRecursiveOperationCompleted, userState);
        }
        
        private void OnGetFilesRecursiveOperationCompleted(object arg) {
            if ((this.GetFilesRecursiveCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetFilesRecursiveCompleted(this, new GetFilesRecursiveCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetFilesRecursiveByPattern", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SystemFile[] GetFilesRecursiveByPattern(string rootFolder, string path, string pattern) {
            object[] results = this.Invoke("GetFilesRecursiveByPattern", new object[] {
                        rootFolder,
                        path,
                        pattern});
            return ((SystemFile[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetFilesRecursiveByPattern(string rootFolder, string path, string pattern, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetFilesRecursiveByPattern", new object[] {
                        rootFolder,
                        path,
                        pattern}, callback, asyncState);
        }
        
        /// <remarks/>
        public SystemFile[] EndGetFilesRecursiveByPattern(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((SystemFile[])(results[0]));
        }
        
        /// <remarks/>
        public void GetFilesRecursiveByPatternAsync(string rootFolder, string path, string pattern) {
            this.GetFilesRecursiveByPatternAsync(rootFolder, path, pattern, null);
        }
        
        /// <remarks/>
        public void GetFilesRecursiveByPatternAsync(string rootFolder, string path, string pattern, object userState) {
            if ((this.GetFilesRecursiveByPatternOperationCompleted == null)) {
                this.GetFilesRecursiveByPatternOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFilesRecursiveByPatternOperationCompleted);
            }
            this.InvokeAsync("GetFilesRecursiveByPattern", new object[] {
                        rootFolder,
                        path,
                        pattern}, this.GetFilesRecursiveByPatternOperationCompleted, userState);
        }
        
        private void OnGetFilesRecursiveByPatternOperationCompleted(object arg) {
            if ((this.GetFilesRecursiveByPatternCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetFilesRecursiveByPatternCompleted(this, new GetFilesRecursiveByPatternCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetFileBinaryContent", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] GetFileBinaryContent(string path) {
            object[] results = this.Invoke("GetFileBinaryContent", new object[] {
                        path});
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetFileBinaryContent(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetFileBinaryContent", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public byte[] EndGetFileBinaryContent(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public void GetFileBinaryContentAsync(string path) {
            this.GetFileBinaryContentAsync(path, null);
        }
        
        /// <remarks/>
        public void GetFileBinaryContentAsync(string path, object userState) {
            if ((this.GetFileBinaryContentOperationCompleted == null)) {
                this.GetFileBinaryContentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFileBinaryContentOperationCompleted);
            }
            this.InvokeAsync("GetFileBinaryContent", new object[] {
                        path}, this.GetFileBinaryContentOperationCompleted, userState);
        }
        
        private void OnGetFileBinaryContentOperationCompleted(object arg) {
            if ((this.GetFileBinaryContentCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetFileBinaryContentCompleted(this, new GetFileBinaryContentCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetFileBinaryContentUsingEncoding", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] GetFileBinaryContentUsingEncoding(string path, string encoding) {
            object[] results = this.Invoke("GetFileBinaryContentUsingEncoding", new object[] {
                        path,
                        encoding});
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetFileBinaryContentUsingEncoding(string path, string encoding, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetFileBinaryContentUsingEncoding", new object[] {
                        path,
                        encoding}, callback, asyncState);
        }
        
        /// <remarks/>
        public byte[] EndGetFileBinaryContentUsingEncoding(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public void GetFileBinaryContentUsingEncodingAsync(string path, string encoding) {
            this.GetFileBinaryContentUsingEncodingAsync(path, encoding, null);
        }
        
        /// <remarks/>
        public void GetFileBinaryContentUsingEncodingAsync(string path, string encoding, object userState) {
            if ((this.GetFileBinaryContentUsingEncodingOperationCompleted == null)) {
                this.GetFileBinaryContentUsingEncodingOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFileBinaryContentUsingEncodingOperationCompleted);
            }
            this.InvokeAsync("GetFileBinaryContentUsingEncoding", new object[] {
                        path,
                        encoding}, this.GetFileBinaryContentUsingEncodingOperationCompleted, userState);
        }
        
        private void OnGetFileBinaryContentUsingEncodingOperationCompleted(object arg) {
            if ((this.GetFileBinaryContentUsingEncodingCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetFileBinaryContentUsingEncodingCompleted(this, new GetFileBinaryContentUsingEncodingCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetFileBinaryChunk", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] GetFileBinaryChunk(string path, int offset, int length) {
            object[] results = this.Invoke("GetFileBinaryChunk", new object[] {
                        path,
                        offset,
                        length});
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetFileBinaryChunk(string path, int offset, int length, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetFileBinaryChunk", new object[] {
                        path,
                        offset,
                        length}, callback, asyncState);
        }
        
        /// <remarks/>
        public byte[] EndGetFileBinaryChunk(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public void GetFileBinaryChunkAsync(string path, int offset, int length) {
            this.GetFileBinaryChunkAsync(path, offset, length, null);
        }
        
        /// <remarks/>
        public void GetFileBinaryChunkAsync(string path, int offset, int length, object userState) {
            if ((this.GetFileBinaryChunkOperationCompleted == null)) {
                this.GetFileBinaryChunkOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFileBinaryChunkOperationCompleted);
            }
            this.InvokeAsync("GetFileBinaryChunk", new object[] {
                        path,
                        offset,
                        length}, this.GetFileBinaryChunkOperationCompleted, userState);
        }
        
        private void OnGetFileBinaryChunkOperationCompleted(object arg) {
            if ((this.GetFileBinaryChunkCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetFileBinaryChunkCompleted(this, new GetFileBinaryChunkCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetFileTextContent", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetFileTextContent(string path) {
            object[] results = this.Invoke("GetFileTextContent", new object[] {
                        path});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetFileTextContent(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetFileTextContent", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndGetFileTextContent(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetFileTextContentAsync(string path) {
            this.GetFileTextContentAsync(path, null);
        }
        
        /// <remarks/>
        public void GetFileTextContentAsync(string path, object userState) {
            if ((this.GetFileTextContentOperationCompleted == null)) {
                this.GetFileTextContentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFileTextContentOperationCompleted);
            }
            this.InvokeAsync("GetFileTextContent", new object[] {
                        path}, this.GetFileTextContentOperationCompleted, userState);
        }
        
        private void OnGetFileTextContentOperationCompleted(object arg) {
            if ((this.GetFileTextContentCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetFileTextContentCompleted(this, new GetFileTextContentCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreateFile", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CreateFile(string path) {
            this.Invoke("CreateFile", new object[] {
                        path});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateFile(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateFile", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndCreateFile(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void CreateFileAsync(string path) {
            this.CreateFileAsync(path, null);
        }
        
        /// <remarks/>
        public void CreateFileAsync(string path, object userState) {
            if ((this.CreateFileOperationCompleted == null)) {
                this.CreateFileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateFileOperationCompleted);
            }
            this.InvokeAsync("CreateFile", new object[] {
                        path}, this.CreateFileOperationCompleted, userState);
        }
        
        private void OnCreateFileOperationCompleted(object arg) {
            if ((this.CreateFileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateFileCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreateDirectory", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CreateDirectory(string path) {
            this.Invoke("CreateDirectory", new object[] {
                        path});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateDirectory(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateDirectory", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndCreateDirectory(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void CreateDirectoryAsync(string path) {
            this.CreateDirectoryAsync(path, null);
        }
        
        /// <remarks/>
        public void CreateDirectoryAsync(string path, object userState) {
            if ((this.CreateDirectoryOperationCompleted == null)) {
                this.CreateDirectoryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateDirectoryOperationCompleted);
            }
            this.InvokeAsync("CreateDirectory", new object[] {
                        path}, this.CreateDirectoryOperationCompleted, userState);
        }
        
        private void OnCreateDirectoryOperationCompleted(object arg) {
            if ((this.CreateDirectoryCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateDirectoryCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ChangeFileAttributes", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void ChangeFileAttributes(string path, System.DateTime createdTime, System.DateTime changedTime) {
            this.Invoke("ChangeFileAttributes", new object[] {
                        path,
                        createdTime,
                        changedTime});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginChangeFileAttributes(string path, System.DateTime createdTime, System.DateTime changedTime, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ChangeFileAttributes", new object[] {
                        path,
                        createdTime,
                        changedTime}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndChangeFileAttributes(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void ChangeFileAttributesAsync(string path, System.DateTime createdTime, System.DateTime changedTime) {
            this.ChangeFileAttributesAsync(path, createdTime, changedTime, null);
        }
        
        /// <remarks/>
        public void ChangeFileAttributesAsync(string path, System.DateTime createdTime, System.DateTime changedTime, object userState) {
            if ((this.ChangeFileAttributesOperationCompleted == null)) {
                this.ChangeFileAttributesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeFileAttributesOperationCompleted);
            }
            this.InvokeAsync("ChangeFileAttributes", new object[] {
                        path,
                        createdTime,
                        changedTime}, this.ChangeFileAttributesOperationCompleted, userState);
        }
        
        private void OnChangeFileAttributesOperationCompleted(object arg) {
            if ((this.ChangeFileAttributesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ChangeFileAttributesCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteFile", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteFile(string path) {
            this.Invoke("DeleteFile", new object[] {
                        path});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteFile(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteFile", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDeleteFile(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DeleteFileAsync(string path) {
            this.DeleteFileAsync(path, null);
        }
        
        /// <remarks/>
        public void DeleteFileAsync(string path, object userState) {
            if ((this.DeleteFileOperationCompleted == null)) {
                this.DeleteFileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteFileOperationCompleted);
            }
            this.InvokeAsync("DeleteFile", new object[] {
                        path}, this.DeleteFileOperationCompleted, userState);
        }
        
        private void OnDeleteFileOperationCompleted(object arg) {
            if ((this.DeleteFileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteFileCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteFiles", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteFiles(string[] files) {
            this.Invoke("DeleteFiles", new object[] {
                        files});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteFiles(string[] files, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteFiles", new object[] {
                        files}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDeleteFiles(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DeleteFilesAsync(string[] files) {
            this.DeleteFilesAsync(files, null);
        }
        
        /// <remarks/>
        public void DeleteFilesAsync(string[] files, object userState) {
            if ((this.DeleteFilesOperationCompleted == null)) {
                this.DeleteFilesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteFilesOperationCompleted);
            }
            this.InvokeAsync("DeleteFiles", new object[] {
                        files}, this.DeleteFilesOperationCompleted, userState);
        }
        
        private void OnDeleteFilesOperationCompleted(object arg) {
            if ((this.DeleteFilesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteFilesCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteEmptyDirectories", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteEmptyDirectories(string[] directories) {
            this.Invoke("DeleteEmptyDirectories", new object[] {
                        directories});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteEmptyDirectories(string[] directories, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteEmptyDirectories", new object[] {
                        directories}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDeleteEmptyDirectories(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DeleteEmptyDirectoriesAsync(string[] directories) {
            this.DeleteEmptyDirectoriesAsync(directories, null);
        }
        
        /// <remarks/>
        public void DeleteEmptyDirectoriesAsync(string[] directories, object userState) {
            if ((this.DeleteEmptyDirectoriesOperationCompleted == null)) {
                this.DeleteEmptyDirectoriesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteEmptyDirectoriesOperationCompleted);
            }
            this.InvokeAsync("DeleteEmptyDirectories", new object[] {
                        directories}, this.DeleteEmptyDirectoriesOperationCompleted, userState);
        }
        
        private void OnDeleteEmptyDirectoriesOperationCompleted(object arg) {
            if ((this.DeleteEmptyDirectoriesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteEmptyDirectoriesCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/UpdateFileBinaryContent", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void UpdateFileBinaryContent(string path, [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")] byte[] content) {
            this.Invoke("UpdateFileBinaryContent", new object[] {
                        path,
                        content});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginUpdateFileBinaryContent(string path, byte[] content, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("UpdateFileBinaryContent", new object[] {
                        path,
                        content}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndUpdateFileBinaryContent(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void UpdateFileBinaryContentAsync(string path, byte[] content) {
            this.UpdateFileBinaryContentAsync(path, content, null);
        }
        
        /// <remarks/>
        public void UpdateFileBinaryContentAsync(string path, byte[] content, object userState) {
            if ((this.UpdateFileBinaryContentOperationCompleted == null)) {
                this.UpdateFileBinaryContentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateFileBinaryContentOperationCompleted);
            }
            this.InvokeAsync("UpdateFileBinaryContent", new object[] {
                        path,
                        content}, this.UpdateFileBinaryContentOperationCompleted, userState);
        }
        
        private void OnUpdateFileBinaryContentOperationCompleted(object arg) {
            if ((this.UpdateFileBinaryContentCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateFileBinaryContentCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/UpdateFileBinaryContentUsingEncoding", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void UpdateFileBinaryContentUsingEncoding(string path, [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")] byte[] content, string encoding) {
            this.Invoke("UpdateFileBinaryContentUsingEncoding", new object[] {
                        path,
                        content,
                        encoding});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginUpdateFileBinaryContentUsingEncoding(string path, byte[] content, string encoding, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("UpdateFileBinaryContentUsingEncoding", new object[] {
                        path,
                        content,
                        encoding}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndUpdateFileBinaryContentUsingEncoding(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void UpdateFileBinaryContentUsingEncodingAsync(string path, byte[] content, string encoding) {
            this.UpdateFileBinaryContentUsingEncodingAsync(path, content, encoding, null);
        }
        
        /// <remarks/>
        public void UpdateFileBinaryContentUsingEncodingAsync(string path, byte[] content, string encoding, object userState) {
            if ((this.UpdateFileBinaryContentUsingEncodingOperationCompleted == null)) {
                this.UpdateFileBinaryContentUsingEncodingOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateFileBinaryContentUsingEncodingOperationCompleted);
            }
            this.InvokeAsync("UpdateFileBinaryContentUsingEncoding", new object[] {
                        path,
                        content,
                        encoding}, this.UpdateFileBinaryContentUsingEncodingOperationCompleted, userState);
        }
        
        private void OnUpdateFileBinaryContentUsingEncodingOperationCompleted(object arg) {
            if ((this.UpdateFileBinaryContentUsingEncodingCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateFileBinaryContentUsingEncodingCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/AppendFileBinaryContent", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void AppendFileBinaryContent(string path, [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")] byte[] chunk) {
            this.Invoke("AppendFileBinaryContent", new object[] {
                        path,
                        chunk});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginAppendFileBinaryContent(string path, byte[] chunk, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("AppendFileBinaryContent", new object[] {
                        path,
                        chunk}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndAppendFileBinaryContent(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void AppendFileBinaryContentAsync(string path, byte[] chunk) {
            this.AppendFileBinaryContentAsync(path, chunk, null);
        }
        
        /// <remarks/>
        public void AppendFileBinaryContentAsync(string path, byte[] chunk, object userState) {
            if ((this.AppendFileBinaryContentOperationCompleted == null)) {
                this.AppendFileBinaryContentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAppendFileBinaryContentOperationCompleted);
            }
            this.InvokeAsync("AppendFileBinaryContent", new object[] {
                        path,
                        chunk}, this.AppendFileBinaryContentOperationCompleted, userState);
        }
        
        private void OnAppendFileBinaryContentOperationCompleted(object arg) {
            if ((this.AppendFileBinaryContentCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AppendFileBinaryContentCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/UpdateFileTextContent", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void UpdateFileTextContent(string path, string content) {
            this.Invoke("UpdateFileTextContent", new object[] {
                        path,
                        content});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginUpdateFileTextContent(string path, string content, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("UpdateFileTextContent", new object[] {
                        path,
                        content}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndUpdateFileTextContent(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void UpdateFileTextContentAsync(string path, string content) {
            this.UpdateFileTextContentAsync(path, content, null);
        }
        
        /// <remarks/>
        public void UpdateFileTextContentAsync(string path, string content, object userState) {
            if ((this.UpdateFileTextContentOperationCompleted == null)) {
                this.UpdateFileTextContentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateFileTextContentOperationCompleted);
            }
            this.InvokeAsync("UpdateFileTextContent", new object[] {
                        path,
                        content}, this.UpdateFileTextContentOperationCompleted, userState);
        }
        
        private void OnUpdateFileTextContentOperationCompleted(object arg) {
            if ((this.UpdateFileTextContentCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateFileTextContentCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/MoveFile", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void MoveFile(string sourcePath, string destinationPath) {
            this.Invoke("MoveFile", new object[] {
                        sourcePath,
                        destinationPath});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginMoveFile(string sourcePath, string destinationPath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("MoveFile", new object[] {
                        sourcePath,
                        destinationPath}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndMoveFile(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void MoveFileAsync(string sourcePath, string destinationPath) {
            this.MoveFileAsync(sourcePath, destinationPath, null);
        }
        
        /// <remarks/>
        public void MoveFileAsync(string sourcePath, string destinationPath, object userState) {
            if ((this.MoveFileOperationCompleted == null)) {
                this.MoveFileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnMoveFileOperationCompleted);
            }
            this.InvokeAsync("MoveFile", new object[] {
                        sourcePath,
                        destinationPath}, this.MoveFileOperationCompleted, userState);
        }
        
        private void OnMoveFileOperationCompleted(object arg) {
            if ((this.MoveFileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.MoveFileCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CopyFile", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CopyFile(string sourcePath, string destinationPath) {
            this.Invoke("CopyFile", new object[] {
                        sourcePath,
                        destinationPath});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCopyFile(string sourcePath, string destinationPath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CopyFile", new object[] {
                        sourcePath,
                        destinationPath}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndCopyFile(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void CopyFileAsync(string sourcePath, string destinationPath) {
            this.CopyFileAsync(sourcePath, destinationPath, null);
        }
        
        /// <remarks/>
        public void CopyFileAsync(string sourcePath, string destinationPath, object userState) {
            if ((this.CopyFileOperationCompleted == null)) {
                this.CopyFileOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCopyFileOperationCompleted);
            }
            this.InvokeAsync("CopyFile", new object[] {
                        sourcePath,
                        destinationPath}, this.CopyFileOperationCompleted, userState);
        }
        
        private void OnCopyFileOperationCompleted(object arg) {
            if ((this.CopyFileCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CopyFileCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ZipFiles", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void ZipFiles(string zipFile, string rootPath, string[] files) {
            this.Invoke("ZipFiles", new object[] {
                        zipFile,
                        rootPath,
                        files});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginZipFiles(string zipFile, string rootPath, string[] files, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ZipFiles", new object[] {
                        zipFile,
                        rootPath,
                        files}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndZipFiles(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void ZipFilesAsync(string zipFile, string rootPath, string[] files) {
            this.ZipFilesAsync(zipFile, rootPath, files, null);
        }
        
        /// <remarks/>
        public void ZipFilesAsync(string zipFile, string rootPath, string[] files, object userState) {
            if ((this.ZipFilesOperationCompleted == null)) {
                this.ZipFilesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnZipFilesOperationCompleted);
            }
            this.InvokeAsync("ZipFiles", new object[] {
                        zipFile,
                        rootPath,
                        files}, this.ZipFilesOperationCompleted, userState);
        }
        
        private void OnZipFilesOperationCompleted(object arg) {
            if ((this.ZipFilesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ZipFilesCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/UnzipFiles", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string[] UnzipFiles(string zipFile, string destFolder) {
            object[] results = this.Invoke("UnzipFiles", new object[] {
                        zipFile,
                        destFolder});
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginUnzipFiles(string zipFile, string destFolder, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("UnzipFiles", new object[] {
                        zipFile,
                        destFolder}, callback, asyncState);
        }
        
        /// <remarks/>
        public string[] EndUnzipFiles(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public void UnzipFilesAsync(string zipFile, string destFolder) {
            this.UnzipFilesAsync(zipFile, destFolder, null);
        }
        
        /// <remarks/>
        public void UnzipFilesAsync(string zipFile, string destFolder, object userState) {
            if ((this.UnzipFilesOperationCompleted == null)) {
                this.UnzipFilesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUnzipFilesOperationCompleted);
            }
            this.InvokeAsync("UnzipFiles", new object[] {
                        zipFile,
                        destFolder}, this.UnzipFilesOperationCompleted, userState);
        }
        
        private void OnUnzipFilesOperationCompleted(object arg) {
            if ((this.UnzipFilesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UnzipFilesCompleted(this, new UnzipFilesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreateAccessDatabase", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CreateAccessDatabase(string databasePath) {
            this.Invoke("CreateAccessDatabase", new object[] {
                        databasePath});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateAccessDatabase(string databasePath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateAccessDatabase", new object[] {
                        databasePath}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndCreateAccessDatabase(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void CreateAccessDatabaseAsync(string databasePath) {
            this.CreateAccessDatabaseAsync(databasePath, null);
        }
        
        /// <remarks/>
        public void CreateAccessDatabaseAsync(string databasePath, object userState) {
            if ((this.CreateAccessDatabaseOperationCompleted == null)) {
                this.CreateAccessDatabaseOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateAccessDatabaseOperationCompleted);
            }
            this.InvokeAsync("CreateAccessDatabase", new object[] {
                        databasePath}, this.CreateAccessDatabaseOperationCompleted, userState);
        }
        
        private void OnCreateAccessDatabaseOperationCompleted(object arg) {
            if ((this.CreateAccessDatabaseCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateAccessDatabaseCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetGroupNtfsPermissions", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public UserPermission[] GetGroupNtfsPermissions(string path, UserPermission[] users, string usersOU) {
            object[] results = this.Invoke("GetGroupNtfsPermissions", new object[] {
                        path,
                        users,
                        usersOU});
            return ((UserPermission[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetGroupNtfsPermissions(string path, UserPermission[] users, string usersOU, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetGroupNtfsPermissions", new object[] {
                        path,
                        users,
                        usersOU}, callback, asyncState);
        }
        
        /// <remarks/>
        public UserPermission[] EndGetGroupNtfsPermissions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((UserPermission[])(results[0]));
        }
        
        /// <remarks/>
        public void GetGroupNtfsPermissionsAsync(string path, UserPermission[] users, string usersOU) {
            this.GetGroupNtfsPermissionsAsync(path, users, usersOU, null);
        }
        
        /// <remarks/>
        public void GetGroupNtfsPermissionsAsync(string path, UserPermission[] users, string usersOU, object userState) {
            if ((this.GetGroupNtfsPermissionsOperationCompleted == null)) {
                this.GetGroupNtfsPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetGroupNtfsPermissionsOperationCompleted);
            }
            this.InvokeAsync("GetGroupNtfsPermissions", new object[] {
                        path,
                        users,
                        usersOU}, this.GetGroupNtfsPermissionsOperationCompleted, userState);
        }
        
        private void OnGetGroupNtfsPermissionsOperationCompleted(object arg) {
            if ((this.GetGroupNtfsPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetGroupNtfsPermissionsCompleted(this, new GetGroupNtfsPermissionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GrantGroupNtfsPermissions", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void GrantGroupNtfsPermissions(string path, UserPermission[] users, string usersOU, bool resetChildPermissions) {
            this.Invoke("GrantGroupNtfsPermissions", new object[] {
                        path,
                        users,
                        usersOU,
                        resetChildPermissions});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGrantGroupNtfsPermissions(string path, UserPermission[] users, string usersOU, bool resetChildPermissions, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GrantGroupNtfsPermissions", new object[] {
                        path,
                        users,
                        usersOU,
                        resetChildPermissions}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndGrantGroupNtfsPermissions(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void GrantGroupNtfsPermissionsAsync(string path, UserPermission[] users, string usersOU, bool resetChildPermissions) {
            this.GrantGroupNtfsPermissionsAsync(path, users, usersOU, resetChildPermissions, null);
        }
        
        /// <remarks/>
        public void GrantGroupNtfsPermissionsAsync(string path, UserPermission[] users, string usersOU, bool resetChildPermissions, object userState) {
            if ((this.GrantGroupNtfsPermissionsOperationCompleted == null)) {
                this.GrantGroupNtfsPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGrantGroupNtfsPermissionsOperationCompleted);
            }
            this.InvokeAsync("GrantGroupNtfsPermissions", new object[] {
                        path,
                        users,
                        usersOU,
                        resetChildPermissions}, this.GrantGroupNtfsPermissionsOperationCompleted, userState);
        }
        
        private void OnGrantGroupNtfsPermissionsOperationCompleted(object arg) {
            if ((this.GrantGroupNtfsPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GrantGroupNtfsPermissionsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/SetQuotaLimitOnFolder", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetQuotaLimitOnFolder(string folderPath, string shareNameDrive, QuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword) {
            this.Invoke("SetQuotaLimitOnFolder", new object[] {
                        folderPath,
                        shareNameDrive,
                        quotaType,
                        quotaLimit,
                        mode,
                        wmiUserName,
                        wmiPassword});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetQuotaLimitOnFolder(string folderPath, string shareNameDrive, QuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetQuotaLimitOnFolder", new object[] {
                        folderPath,
                        shareNameDrive,
                        quotaType,
                        quotaLimit,
                        mode,
                        wmiUserName,
                        wmiPassword}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndSetQuotaLimitOnFolder(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void SetQuotaLimitOnFolderAsync(string folderPath, string shareNameDrive, QuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword) {
            this.SetQuotaLimitOnFolderAsync(folderPath, shareNameDrive, quotaType, quotaLimit, mode, wmiUserName, wmiPassword, null);
        }
        
        /// <remarks/>
        public void SetQuotaLimitOnFolderAsync(string folderPath, string shareNameDrive, QuotaType quotaType, string quotaLimit, int mode, string wmiUserName, string wmiPassword, object userState) {
            if ((this.SetQuotaLimitOnFolderOperationCompleted == null)) {
                this.SetQuotaLimitOnFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetQuotaLimitOnFolderOperationCompleted);
            }
            this.InvokeAsync("SetQuotaLimitOnFolder", new object[] {
                        folderPath,
                        shareNameDrive,
                        quotaType,
                        quotaLimit,
                        mode,
                        wmiUserName,
                        wmiPassword}, this.SetQuotaLimitOnFolderOperationCompleted, userState);
        }
        
        private void OnSetQuotaLimitOnFolderOperationCompleted(object arg) {
            if ((this.SetQuotaLimitOnFolderCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetQuotaLimitOnFolderCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetQuotaOnFolder", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public Quota GetQuotaOnFolder(string folderPath, string wmiUserName, string wmiPassword) {
            object[] results = this.Invoke("GetQuotaOnFolder", new object[] {
                        folderPath,
                        wmiUserName,
                        wmiPassword});
            return ((Quota)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetQuotaOnFolder(string folderPath, string wmiUserName, string wmiPassword, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetQuotaOnFolder", new object[] {
                        folderPath,
                        wmiUserName,
                        wmiPassword}, callback, asyncState);
        }
        
        /// <remarks/>
        public Quota EndGetQuotaOnFolder(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((Quota)(results[0]));
        }
        
        /// <remarks/>
        public void GetQuotaOnFolderAsync(string folderPath, string wmiUserName, string wmiPassword) {
            this.GetQuotaOnFolderAsync(folderPath, wmiUserName, wmiPassword, null);
        }
        
        /// <remarks/>
        public void GetQuotaOnFolderAsync(string folderPath, string wmiUserName, string wmiPassword, object userState) {
            if ((this.GetQuotaOnFolderOperationCompleted == null)) {
                this.GetQuotaOnFolderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetQuotaOnFolderOperationCompleted);
            }
            this.InvokeAsync("GetQuotaOnFolder", new object[] {
                        folderPath,
                        wmiUserName,
                        wmiPassword}, this.GetQuotaOnFolderOperationCompleted, userState);
        }
        
        private void OnGetQuotaOnFolderOperationCompleted(object arg) {
            if ((this.GetQuotaOnFolderCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetQuotaOnFolderCompleted(this, new GetQuotaOnFolderCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteDirectoryRecursive", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteDirectoryRecursive(string rootPath) {
            this.Invoke("DeleteDirectoryRecursive", new object[] {
                        rootPath});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteDirectoryRecursive(string rootPath, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteDirectoryRecursive", new object[] {
                        rootPath}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDeleteDirectoryRecursive(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DeleteDirectoryRecursiveAsync(string rootPath) {
            this.DeleteDirectoryRecursiveAsync(rootPath, null);
        }
        
        /// <remarks/>
        public void DeleteDirectoryRecursiveAsync(string rootPath, object userState) {
            if ((this.DeleteDirectoryRecursiveOperationCompleted == null)) {
                this.DeleteDirectoryRecursiveOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDirectoryRecursiveOperationCompleted);
            }
            this.InvokeAsync("DeleteDirectoryRecursive", new object[] {
                        rootPath}, this.DeleteDirectoryRecursiveOperationCompleted, userState);
        }
        
        private void OnDeleteDirectoryRecursiveOperationCompleted(object arg) {
            if ((this.DeleteDirectoryRecursiveCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteDirectoryRecursiveCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CheckFileServicesInstallation", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool CheckFileServicesInstallation() {
            object[] results = this.Invoke("CheckFileServicesInstallation", new object[0]);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCheckFileServicesInstallation(System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CheckFileServicesInstallation", new object[0], callback, asyncState);
        }
        
        /// <remarks/>
        public bool EndCheckFileServicesInstallation(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void CheckFileServicesInstallationAsync() {
            this.CheckFileServicesInstallationAsync(null);
        }
        
        /// <remarks/>
        public void CheckFileServicesInstallationAsync(object userState) {
            if ((this.CheckFileServicesInstallationOperationCompleted == null)) {
                this.CheckFileServicesInstallationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCheckFileServicesInstallationOperationCompleted);
            }
            this.InvokeAsync("CheckFileServicesInstallation", new object[0], this.CheckFileServicesInstallationOperationCompleted, userState);
        }
        
        private void OnCheckFileServicesInstallationOperationCompleted(object arg) {
            if ((this.CheckFileServicesInstallationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CheckFileServicesInstallationCompleted(this, new CheckFileServicesInstallationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetFolderGraph", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public FolderGraph GetFolderGraph(string path) {
            object[] results = this.Invoke("GetFolderGraph", new object[] {
                        path});
            return ((FolderGraph)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetFolderGraph(string path, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetFolderGraph", new object[] {
                        path}, callback, asyncState);
        }
        
        /// <remarks/>
        public FolderGraph EndGetFolderGraph(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((FolderGraph)(results[0]));
        }
        
        /// <remarks/>
        public void GetFolderGraphAsync(string path) {
            this.GetFolderGraphAsync(path, null);
        }
        
        /// <remarks/>
        public void GetFolderGraphAsync(string path, object userState) {
            if ((this.GetFolderGraphOperationCompleted == null)) {
                this.GetFolderGraphOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFolderGraphOperationCompleted);
            }
            this.InvokeAsync("GetFolderGraph", new object[] {
                        path}, this.GetFolderGraphOperationCompleted, userState);
        }
        
        private void OnGetFolderGraphOperationCompleted(object arg) {
            if ((this.GetFolderGraphCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetFolderGraphCompleted(this, new GetFolderGraphCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ExecuteSyncActions", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void ExecuteSyncActions(FileSyncAction[] actions) {
            this.Invoke("ExecuteSyncActions", new object[] {
                        actions});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginExecuteSyncActions(FileSyncAction[] actions, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("ExecuteSyncActions", new object[] {
                        actions}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndExecuteSyncActions(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void ExecuteSyncActionsAsync(FileSyncAction[] actions) {
            this.ExecuteSyncActionsAsync(actions, null);
        }
        
        /// <remarks/>
        public void ExecuteSyncActionsAsync(FileSyncAction[] actions, object userState) {
            if ((this.ExecuteSyncActionsOperationCompleted == null)) {
                this.ExecuteSyncActionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnExecuteSyncActionsOperationCompleted);
            }
            this.InvokeAsync("ExecuteSyncActions", new object[] {
                        actions}, this.ExecuteSyncActionsOperationCompleted, userState);
        }
        
        private void OnExecuteSyncActionsOperationCompleted(object arg) {
            if ((this.ExecuteSyncActionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ExecuteSyncActionsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetInstalledOdbcDrivers", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string[] GetInstalledOdbcDrivers() {
            object[] results = this.Invoke("GetInstalledOdbcDrivers", new object[0]);
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetInstalledOdbcDrivers(System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetInstalledOdbcDrivers", new object[0], callback, asyncState);
        }
        
        /// <remarks/>
        public string[] EndGetInstalledOdbcDrivers(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public void GetInstalledOdbcDriversAsync() {
            this.GetInstalledOdbcDriversAsync(null);
        }
        
        /// <remarks/>
        public void GetInstalledOdbcDriversAsync(object userState) {
            if ((this.GetInstalledOdbcDriversOperationCompleted == null)) {
                this.GetInstalledOdbcDriversOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetInstalledOdbcDriversOperationCompleted);
            }
            this.InvokeAsync("GetInstalledOdbcDrivers", new object[0], this.GetInstalledOdbcDriversOperationCompleted, userState);
        }
        
        private void OnGetInstalledOdbcDriversOperationCompleted(object arg) {
            if ((this.GetInstalledOdbcDriversCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetInstalledOdbcDriversCompleted(this, new GetInstalledOdbcDriversCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetDSNNames", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string[] GetDSNNames() {
            object[] results = this.Invoke("GetDSNNames", new object[0]);
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetDSNNames(System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetDSNNames", new object[0], callback, asyncState);
        }
        
        /// <remarks/>
        public string[] EndGetDSNNames(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public void GetDSNNamesAsync() {
            this.GetDSNNamesAsync(null);
        }
        
        /// <remarks/>
        public void GetDSNNamesAsync(object userState) {
            if ((this.GetDSNNamesOperationCompleted == null)) {
                this.GetDSNNamesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDSNNamesOperationCompleted);
            }
            this.InvokeAsync("GetDSNNames", new object[0], this.GetDSNNamesOperationCompleted, userState);
        }
        
        private void OnGetDSNNamesOperationCompleted(object arg) {
            if ((this.GetDSNNamesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDSNNamesCompleted(this, new GetDSNNamesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetDSN", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SystemDSN GetDSN(string dsnName) {
            object[] results = this.Invoke("GetDSN", new object[] {
                        dsnName});
            return ((SystemDSN)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetDSN(string dsnName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetDSN", new object[] {
                        dsnName}, callback, asyncState);
        }
        
        /// <remarks/>
        public SystemDSN EndGetDSN(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((SystemDSN)(results[0]));
        }
        
        /// <remarks/>
        public void GetDSNAsync(string dsnName) {
            this.GetDSNAsync(dsnName, null);
        }
        
        /// <remarks/>
        public void GetDSNAsync(string dsnName, object userState) {
            if ((this.GetDSNOperationCompleted == null)) {
                this.GetDSNOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDSNOperationCompleted);
            }
            this.InvokeAsync("GetDSN", new object[] {
                        dsnName}, this.GetDSNOperationCompleted, userState);
        }
        
        private void OnGetDSNOperationCompleted(object arg) {
            if ((this.GetDSNCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDSNCompleted(this, new GetDSNCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreateDSN", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CreateDSN(SystemDSN dsn) {
            this.Invoke("CreateDSN", new object[] {
                        dsn});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateDSN(SystemDSN dsn, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateDSN", new object[] {
                        dsn}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndCreateDSN(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void CreateDSNAsync(SystemDSN dsn) {
            this.CreateDSNAsync(dsn, null);
        }
        
        /// <remarks/>
        public void CreateDSNAsync(SystemDSN dsn, object userState) {
            if ((this.CreateDSNOperationCompleted == null)) {
                this.CreateDSNOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateDSNOperationCompleted);
            }
            this.InvokeAsync("CreateDSN", new object[] {
                        dsn}, this.CreateDSNOperationCompleted, userState);
        }
        
        private void OnCreateDSNOperationCompleted(object arg) {
            if ((this.CreateDSNCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateDSNCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/UpdateDSN", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void UpdateDSN(SystemDSN dsn) {
            this.Invoke("UpdateDSN", new object[] {
                        dsn});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginUpdateDSN(SystemDSN dsn, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("UpdateDSN", new object[] {
                        dsn}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndUpdateDSN(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void UpdateDSNAsync(SystemDSN dsn) {
            this.UpdateDSNAsync(dsn, null);
        }
        
        /// <remarks/>
        public void UpdateDSNAsync(SystemDSN dsn, object userState) {
            if ((this.UpdateDSNOperationCompleted == null)) {
                this.UpdateDSNOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateDSNOperationCompleted);
            }
            this.InvokeAsync("UpdateDSN", new object[] {
                        dsn}, this.UpdateDSNOperationCompleted, userState);
        }
        
        private void OnUpdateDSNOperationCompleted(object arg) {
            if ((this.UpdateDSNCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateDSNCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteDSN", RequestNamespace="http://smbsaas/solidcp/server/", ResponseNamespace="http://smbsaas/solidcp/server/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteDSN(string dsnName) {
            this.Invoke("DeleteDSN", new object[] {
                        dsnName});
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteDSN(string dsnName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteDSN", new object[] {
                        dsnName}, callback, asyncState);
        }
        
        /// <remarks/>
        public void EndDeleteDSN(System.IAsyncResult asyncResult) {
            this.EndInvoke(asyncResult);
        }
        
        /// <remarks/>
        public void DeleteDSNAsync(string dsnName) {
            this.DeleteDSNAsync(dsnName, null);
        }
        
        /// <remarks/>
        public void DeleteDSNAsync(string dsnName, object userState) {
            if ((this.DeleteDSNOperationCompleted == null)) {
                this.DeleteDSNOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDSNOperationCompleted);
            }
            this.InvokeAsync("DeleteDSN", new object[] {
                        dsnName}, this.DeleteDSNOperationCompleted, userState);
        }
        
        private void OnDeleteDSNOperationCompleted(object arg) {
            if ((this.DeleteDSNCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteDSNCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreatePackageFolderCompletedEventHandler(object sender, CreatePackageFolderCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreatePackageFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreatePackageFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void FileExistsCompletedEventHandler(object sender, FileExistsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class FileExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal FileExistsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DirectoryExistsCompletedEventHandler(object sender, DirectoryExistsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DirectoryExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DirectoryExistsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetFileCompletedEventHandler(object sender, GetFileCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetFileCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetFileCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SystemFile Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SystemFile)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetFilesCompletedEventHandler(object sender, GetFilesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetFilesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetFilesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SystemFile[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SystemFile[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetDirectoriesRecursiveCompletedEventHandler(object sender, GetDirectoriesRecursiveCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDirectoriesRecursiveCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDirectoriesRecursiveCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SystemFile[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SystemFile[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetFilesRecursiveCompletedEventHandler(object sender, GetFilesRecursiveCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetFilesRecursiveCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetFilesRecursiveCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SystemFile[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SystemFile[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetFilesRecursiveByPatternCompletedEventHandler(object sender, GetFilesRecursiveByPatternCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetFilesRecursiveByPatternCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetFilesRecursiveByPatternCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SystemFile[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SystemFile[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetFileBinaryContentCompletedEventHandler(object sender, GetFileBinaryContentCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetFileBinaryContentCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetFileBinaryContentCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public byte[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((byte[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetFileBinaryContentUsingEncodingCompletedEventHandler(object sender, GetFileBinaryContentUsingEncodingCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetFileBinaryContentUsingEncodingCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetFileBinaryContentUsingEncodingCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public byte[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((byte[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetFileBinaryChunkCompletedEventHandler(object sender, GetFileBinaryChunkCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetFileBinaryChunkCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetFileBinaryChunkCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public byte[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((byte[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetFileTextContentCompletedEventHandler(object sender, GetFileTextContentCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetFileTextContentCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetFileTextContentCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateFileCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateDirectoryCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void ChangeFileAttributesCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteFileCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteFilesCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteEmptyDirectoriesCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void UpdateFileBinaryContentCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void UpdateFileBinaryContentUsingEncodingCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void AppendFileBinaryContentCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void UpdateFileTextContentCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void MoveFileCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CopyFileCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void ZipFilesCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void UnzipFilesCompletedEventHandler(object sender, UnzipFilesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class UnzipFilesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal UnzipFilesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateAccessDatabaseCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetGroupNtfsPermissionsCompletedEventHandler(object sender, GetGroupNtfsPermissionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetGroupNtfsPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetGroupNtfsPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public UserPermission[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((UserPermission[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GrantGroupNtfsPermissionsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void SetQuotaLimitOnFolderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetQuotaOnFolderCompletedEventHandler(object sender, GetQuotaOnFolderCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetQuotaOnFolderCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetQuotaOnFolderCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public Quota Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((Quota)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteDirectoryRecursiveCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CheckFileServicesInstallationCompletedEventHandler(object sender, CheckFileServicesInstallationCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CheckFileServicesInstallationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CheckFileServicesInstallationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetFolderGraphCompletedEventHandler(object sender, GetFolderGraphCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetFolderGraphCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetFolderGraphCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public FolderGraph Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((FolderGraph)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void ExecuteSyncActionsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetInstalledOdbcDriversCompletedEventHandler(object sender, GetInstalledOdbcDriversCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetInstalledOdbcDriversCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetInstalledOdbcDriversCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetDSNNamesCompletedEventHandler(object sender, GetDSNNamesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDSNNamesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDSNNamesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void GetDSNCompletedEventHandler(object sender, GetDSNCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDSNCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDSNCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SystemDSN Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SystemDSN)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void CreateDSNCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void UpdateDSNCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
    public delegate void DeleteDSNCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
}
